package com.example.demo.pdf;

import com.aspose.words.Document;
import com.aspose.words.License;
import com.aspose.words.SaveFormat;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;

/**
* @description: TODO word 转 pdf
* @author 杨镇宇
* @date 2022/4/18 14:40
* @version 1.0
*/

public class WordToPdf {
    /**
     * word转pdf
     * @param
     * @param
     * @throws Exception
     */
    public static boolean getLicense() {
        boolean result = false;
        try {
            String path = System.getProperty("user.dir")+"\\pdf\\license.xml";
            File file = new File(path);
            InputStream is = new FileInputStream(file);
            //InputStream is = new ClassPathResource("/license.xml").getInputStream();
            License aposeLic = new License();
            aposeLic.setLicense(is);
            result = true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }

    public static void docToPdf(String inPath, String outPath) {
        if (!getLicense()) {
            System.out.printf("验证License 验证未通过");
            return;
        }
        try {
            long old = System.currentTimeMillis();
            File file = new File(outPath); // 新建一个空白pdf文档
            FileOutputStream os = new FileOutputStream(file);
            Document doc = new Document(inPath); // Address是将要被转化的word文档
            doc.save(os, SaveFormat.PDF);// 全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF,
            os.close();
            // EPUB, XPS, SWF 相互转换
            long now = System.currentTimeMillis();
            System.out.println("共耗时：" + ((now - old) / 1000.0) + "秒"); // 转化用时
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) throws Exception{

        docToPdf("F:\\info\\6.doc","F:\\info\\6.pdf");

    }

}
